﻿// 注释: 被注释的内容是不会解析得. 注释是给开发人员看的. 起到解释说明的作用
// 程序运行的时候会跳过注释的内容
// 注释的方法: 1: //    2: /*  注释的内容  */  3: 注释Ctrl + K + C, 取消注释: Ctrl + K + U
// using 引用 using后面跟的都是工具包( 系统自带的工具包 )
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// namesapce:命名空间 自己创建一个工具包 工具包的名称叫做 lesson_1
namespace lesson_1
{
    // class: 类 (具体的某一样工具)
    internal class Program
    {    
        // Main: 主方法( 工具的使用方法 )
        static void Main(string[] args)
        {
            #region 输入输出
            // 所有的计算机语言都必须使用英文符号
            // 目前 代码都要写在Main里面
            //  cw + Tab 就相当于Console.WriteLine();
            //在控制台上进行输出
            // Console.WriteLine()会自动换行
            // ; 代表语句结束, 所有语句结束都需要添加;
            Console.WriteLine("第一天开课");
            Console.WriteLine("要认真学习");
            // 当有提示的时候按下Tab键,提示就会自动补充完整
            Console.WriteLine("Console.WriteLine会自动换行");
            Console.Write("Console.Write不会自动换行---");
            Console.Write("好好学习,");
            Console.Write("天天向上");
            Console.WriteLine();

            // 在控制台上输入内容 
            // Console.ReadLine();
            // 1 + 1 = 2
            // =: 赋值符号, 把等号左边的内容赋值给等号右边 
            //string str = Console.ReadLine();
            //Console.WriteLine("我们要打印的内容是:" + str);
            #endregion

            // #region 按两下tab键

            #region 变量
            // 1.变量名命名规则:
            //  a.不能重名,
            //  b.不能以数字开头
            //  c.不能使用关键字
            //  d.不能有特殊符号( 下划线除外 )
            // 2.常用命名规则: 
            //  a.驼峰命名法: 首字母小写之后每个单词的首字母大写
            //  b.帕斯卡命名法: 所有单词的首字母都大写
            // 3.在C#里面, 对大小写是敏感的, 也就是说 A11和a11 是两个不同的变量
            // 4.变量命名的语法结构: 变量类型 变量名 = 初始值;
            //                      变量类型 变量名;    变量名 = 值; 
            // 5. 变量类型分为那些:整型变量, 浮点数(小数), 特殊类型(bool, char, string),枚举,结构体,数组

            // 6.整型变量: 有符号整型变量和无符号整型变量
            //   a.有符号的整型变量( 是能存储一定范围内的正负数和0的变量类型 )
            //      sbyte    :-128到127
            //      short    :-32768到32767
            //      int      :-21亿多到21亿
            //      long     :-9百万兆到9百万站
            //   b.无符号的整型变量( 是能存储一定范围内的正数和0的变量类型)
            //      byte     :0到255
            //      ushort   :0到65535
            //      uint     :0到42亿多
            //      ulong    :0到18百万兆
            //   c.整型变量虽然有8种,但是我们常用的就只有1种int,其他的知道了解就可以了
            //   d.用 int声明变量 
            int a = 1;
            int b;
            b = 2;
            Console.WriteLine(a);
            Console.WriteLine(b);
            // 7.浮点数(小数) // 从非零数开始从左往右计算有效数字,多的四舍五入 
            // a.float(单精度浮点数): 能够存储7到8位的有效数字  
            // b.double(双精度浮点数): 能够存储15到17位的有效数字 
            // c.decimal(实数):能够存储27位到28位的有效数字 
            // d.浮点数有3种类型,常用float, 在C#种,声明的小数,默认是double类型 
            //    用float声明小数时后面要加上f,  用decimal声明小数时后面要加上m 
            // e.举例: 
            float a1 = 12.3f;
            double d1 = 12.3;
            decimal de1 = 12.3m; 
            // 8.特殊类型
            // a.bool: 有两个值分别是true和false, 表示真假的数据类型 ( true:真, false:假 )   比如说 5 > 2 这就是真,  10 < 5:假;
            // b.char: 用来存储单个字符的变量类型(赋值的时候,要用单引号括起来.比如:  char c1 = 'A')
            // c.string: 字符串类型, 字符串是用来存储多个字符的变量类型, 没有上限,用双引号包裹字符
            // e.举例:  
            bool b1 = true;
            bool b11 = false;
            bool b2 =  5 > 2;
            bool b22 = 10 < 5;
            Console.WriteLine(b22);

            char c1 = 'a';
            char c11 = 'A';
            char c111 = '1';
            char c1111 = '*';
            char c11111 = '骄';

            string s1 = "哈哈哈哈123AAAaaa_+@#$234";

            // 9.枚举,结构体,数组等到之后再讲 

            // 10个苹果 
            int appleNum = 10;
            Console.WriteLine("苹果的数量是:" + appleNum);



            #endregion



        }
    }
}
